/// @page ControlCommands Control Commands
/// 
/// The control commands provide the logic that unifies the model operations, the storage operations and the controlling 
///	of the views. Basically, such a command implementation performs the changes to the model, announces those changes to 
///	the storage layer and uses the controllers' signals to announce the subscribed views about the changes it performed. 
///	This command provides two execution methods, one for undo and one for redo.
/// @n
/// @see Ctrl::ControlCommand

/// @page QtUndoableCommands Integration of undoable commands and QT undo framework
/// 
/// The undoable commands are based on the interface defined by the class Ctrl::ControlCommand and are independent of 
///	any third party undo framework. However, in order to integrate these commands with QT undo framework, the class 
///	QtUI::QtUndoableCommand was designed as a wrapper over objects subclassed from Ctrl::ControlCommand.
/// @n
/// When executing QtUI::QtUndoableCommand (either undo or redo) the corresponding method from the wrapped 
///	Ctrl::ControlCommand object will be called.
///
/// @section QtUndoableCommands_UndoStack The Qt Undo Stack
/// The undo stack is held in the singleton instance of QtUI::QtUIConfigurationCenter.
///
/// @section QtUndoableCommands_BindingToMenus Binding to Menus
/// The main window creates two actions in the menus and toolbars, one for undo and one for redo, which are directly 
///	connected to the slots of the global undo stack (see @ref QtUndoableCommands_UndoStack).
